package cn.edu.wynu.d4_jdk8_time;
/*
为什么要学JDK 8新增的时间?

JDK8之前传统的时间API
1、设计不合理，使用不方便 很多都被淘汰了。
2、都是可变对象，修改后会丢失最开始的时间信息。
3、线程不安全。
4、只能精确到亳秒。

JDK8开始之后新增的时间API
1、设计更合理，功能丰富，使用更方便。
2、都是不可变对象，修改后会返回新的时间对象，不会丢失最开始的时间。
3、线程安全。
4、能精确到毫秒、纳秒。
*/

/*
JDK8新增的时间

代替Calendar
LocalDate:年、月、日
LocalTime:时、分、秒
LocalDateTime:年、月、日时、分、秒
ZoneId :时区
ZonedDateTime:带时区的时间

代替Date
Instant:时间戳/时间线

代替SimpleDateFormat
DateTimeFormatter:用于时间的格式化和解析

其他补充
Duration:时间间隔(时、分、秒，纳秒)
Period:时间间隔(年，月，日)
*/

import java.util.Calendar;
import java.util.Date;

public class Test {
    public static void main(String[] args) {
        // 传统时间类（Date、SimpleDateFormat、Calendar）存在如下问题：
        //1、设计不合理，使用不方便 很多都被淘汰了。
        Date d = new Date();
        // System.out.println(d.getYear() + 1900);

        Calendar c = Calendar.getInstance();
        int year = c.get(Calendar.YEAR);
        System.out.println(year);

        //2、都是可变对象，修改后会丢失最开始的时间信息。

        //3、线程不安全。

        //4、只能精确到亳秒。
        // 1秒 = 1000毫秒
        // 1毫秒 = 1000微秒
        // 1微秒 = 1000纳秒
    }
}
